Generally, due to increasing complexity and heterogeneity of service level requirements from clients, software systems are becoming highly distributive. The increasing demand of clients on software system as “composable service provider in a box” requires significant cohesiveness between multiple independent systems to provide appropriate functional services to the desk in time. This leads to development of system-of-systems which in one hand is capable of providing operational independence of the distributed constituent systems and on other hand offers more service functionalities and performance through interactions with constituent systems.
Existing techniques in the area of system of systems testing is mostly focused on testing individual systems and instances of product line systems by reusing requirement specific test cases. However, none of these techniques describe the testing artifacts for system of systems. Other existing technique prescribes most effective strategies for test scheduling and resource allocation in system of systems integration. However, these techniques fail to describe how to optimize the test effort by characterizing test and reusing the previous test knowledge. In addition, this technique does not consider the interactions between different constituent systems and adoption of tests with new constituent system being plugged into the system of systems. Also the validation of system of systems is effort intensive because of the complexity and heterogeneity in terms of number of types of interactions to be validated between multiple constituent systems. Existing techniques of validating software units and integrated software systems are not capable of validating such large scale and heterogeneous system interactions with satisfying service level functionalities in a box. In addition, the above mentioned techniques does not evaluate the time-asynchronous integration of elements deployed in the system depending on changes in scenario and operating environment.
Hence, there is a need of a method and system for optimizing testing efforts in system of systems testing to address the aforementioned issues.